A wireless mobile computing device (i.e., mobile device) may estimate its location within a wireless communication network through triangulation and/or measurement of wireless signal strengths received from wireless access points located within wireless communication range of the mobile device. An access point typically supports a bi-directional communication link with the mobile device in which the mobile device can access information resources from the network. In this context, the access point serves as a gateway to a broader communication network. In other contexts, an access point may not support communications between a mobile device and a broader communication network for the purpose of accessing information resources from the network, but instead the access point may transmit wireless signals that may be received by the mobile device for the purpose of location estimation. Location estimation by the mobile device takes advantage of network operation in which wireless access points maintain an excited state and/or availability of their wireless receivers and/or transmitters, thereby enabling detection and measurement by the mobile device according to any suitable schedule.
On the network side, wireless access points may also detect the presence of mobile devices within wireless communication range by triangulation and/or measurement of wireless signal strengths received from the mobile devices. However, mobile devices often limit excitation of their wireless receivers and/or transmitters to reduce energy consumption and/or reduce congestion of the wireless network. Unfortunately, wireless access points are able to detect mobile devices that are within wireless communication range only when those mobile devices are also exciting their wireless receivers and/or transmitters. Accordingly, there are substantial periods during which the network cannot estimate the location of the mobile devices.
Improved location detection of a mobile device within wireless communication networks is achieved by initiating an application programming interface (API) call at an application program of the mobile device. The API call is received by and directs an operating system of the mobile device to initiate a scan of wireless access points and/or beacons within wireless communication range of the mobile device. Such a scan of the wireless access points and/or beacons may be performed according to a schedule defined by the application program and/or user of the mobile device.
The scanning performed by the mobile device is detected at a network device via one or more of the wireless access points. A location of the mobile device is estimated by the network, such as at the network device or a separate server system based on information obtained through detection of the mobile device via the one or more wireless access points. Network-side estimation of location may provide enhanced or improved location estimates during some scenarios, such as, for example, when the mobile device is located indoors or within a region where GPS location data and/or far-field cellular triangulation provide poor location estimates if calculated by the mobile device. Information resources in the form of location-based services are provided to the mobile device by the network device or server system based on the estimated location of the mobile device. In some examples, the location-based services may be transmitted to the mobile device via a different wireless access point and/or wireless communication protocol than was used during scanning and/or detection of the mobile device.